Graphical user interfaces are widely used to provide human-computer interaction. Many graphical user interfaces require a pointing input from the user in order to control an on-screen cursor, or to manipulate an on-screen object or window. Such pointing input can provided by a pointing device such as a mouse device, touch-pad or trackball. Pointing devices can be characterized as providing indirect interaction, as the user interacts with a separate device to control the on-screen user interface. This can be distinguished from direct interaction methods such as touch-screens, where the pointing input is provided by the user's touch directly manipulating the user interface.
Such is the reliance on pointing input in modern graphical user interfaces that many users are unable to operate the computer without a pointing device or a direct interaction method such as a touch-screen. Whilst most graphical user interfaces provide the ability to control the interface using shortcut keys, the majority of users are unaware of these. Therefore, if a user is presented with a computer without a pointing device, or where the pointing device is broken, the user is likely to be unable to operate the computer.
In addition, the advent of multi-touch interaction has increased the reliance on pointing input as a technique for manipulating a graphical user interface. Multi-touch enables more intuitive and efficient interaction through the use of gestures made using multiple fingers or hands. Multi-touch interaction is becoming increasingly common as a result of increasing availability of multi-touch interaction hardware, such as multi-touch enables touch-pads, touch-screens and mouse devices. As a result, more operating systems and applications are supporting and making use of multi-touch input.
However, whilst the operating systems and applications are becoming multi-touch enabled, many users do not have access to the specialized multi-touch interaction hardware that provides multi-touch input. Without such hardware, the user in unable to benefit from the gesture-based control of software that multi-touch provides.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known user interfaces.